.so ../bk-macros
.TH "bk csettool" "\*[BKVER]" %E% "\*(BC" "\*(UM"
.SH NAME
bk csettool \- \*(BK graphical changeset browser
.SH SYNOPSIS
.B bk csettool
.[B] \-
.br
.ie \n[NESTED] \{\
.B bk csettool
.[B] \-S
..el .B bk csettool
.[OPTreq] \-r revs
.[B] dir
.br
.B bk csettool
.[OPTreq] \-r revs
[\c
.Bc \-f
.ARGc file
.Bc |
.ARGc rev
]
.br
.B bk csettool
.[B] \-S
.OPTopt \-L url
.SH DESCRIPTION
.LP
.B bk csettool
is used to view detailed information about the specified
changeset[s].
.B bk csettool
displays the list of changes in each changeset, the file and ChangeSet
checkin comments, and the differences found in each file contained in
each changeset.
.LP
Csettool is a useful aide when tracking down bugs. For example,
when using
.B revtool
to view comments for a specific file in order to track when a change
was made to the file. Once the desired file is found, the user can
then click on the
.Q View ChangeSet
button in
.B revtool
to bring up
.bk csettool
to see what other files were modified at the
same time that the file of interest was modified.
.LP
To see the changes for a particular file, click on the file name
in the top left window and you will see:
.TP 3
\*(BU
the number of diffs in the middle status window
.tp
\*(BU
the old version of the file in the lower-left window
.tp
\*(BU
the new version of the file in the lower-right window
.tp
\*(BU
the ChangeSet's comments followed by the delta's comments in
the upper-right window
.LP
Use the space bar to move between diffs and files.  Each time you
hit the space bar, the next diff is brought into view.  If you are
on the last diff, the tool moves to the next file. The
.Q Next
(>>)
buttons and
.Q Previous
(<<) buttons in the top menu bar will also
allow you to browse the files and diffs.
.LP
The
.Q History
button in the menu bar can be used to start the graphical history
browser, revtool, on either the entire project (ChangeSet file)
or on the file highlighted in the upper-left window.
.LP
The
.Q View Product
button in the menu bar, if present, will view the current changeset
from the point of view of the product rather than the component.
If the changeset being viewed was part of a commit in a nested collection
and spanned multiple components, this wider view can be useful.
.SH OPTIONS
.LP
All options\c
.ie \n[NESTED] , with the exception of \fB\-S\fR,
.el \ 
are mutually exclusive, i.e., pick one (or none) of the
following.
.TP "\fBDouble-Clicking\fP"
.OPTreq \-r revs
ChangeSet revision to examine. Can be a single revision or a range of 
revisions. If no
.Q \-r
option is given, 
.B csettool
defaults to
.QR \-r+ ,
i.e. the most recent changeset.
.tp
.OPTopt \-L url
Show all changesets unique to this repository relative to the (outgoing)
parent or 
.ARG url
if one was specified.
Very similar to:
.DS
bk csettool -r@`bk repogca [\*<url\*>]`..
.DE
.tp
.B \-S
.tp
.B \-\-standalone
By default,
.B bk csettool
runs in the product of a nested collection.
To view the changeset in the context of this component you run
.DS
$ bk csettool -S
.DE
.\}
.tp
.B \-f\*<file\*>|\*<rev\*>
Given a filename and revision,
.B csettool
starts up with the specified file and revision selected.
.tp
.B \-
expects a list of revisions on stdin.
.SH BINDINGS
.TP "\fBDouble-Clicking\fP"
.B Home
Scroll both files to the top
.tp
.B End
Scroll both files to the bottom
.tp
.B PageUp
Scroll both files one screen up (also
.BR Control-b )
.tp
.B PageDown
Scroll both files one screen down (also
.BR Control-f )
.tp
.B
UpArrow
Scroll both files one line up (also
.BR Control-y )
.tp
.B DownArrow
Scroll both files one line down (also
.BR Control-e )
.tp
.B LeftArrow
Scroll both files to the left
.tp
.B RightArrow
Scroll both files to the right
.tp
.B Alt-UpArrow
Make the diffs windows one line bigger and
the lists windows one line smaller.
.tp
.B Alt-DownArrow
Make the diffs windows one line smaller and
the lists windows one line bigger.
.tp
.B Control-q
Quit
.tp
.B space
Next diff, if last diff in this file, then goto next file
.tp
.B n
Next diff, if last diff in this file, then goto next file
.tp
.B p
Previous diff, if first diff in this file, then goto previous file
.tp
.B .
Center the current diff on the screen
.tp
.B Control-n
Next file
.tp
.B Control-p
Previous file
.tp
.B s
Export the current ChangeSet as a patch.
.tp
.B Double-Clicking
Double clicking the left mouse button on a file in the file list brings 
up revtool for the specified file.
.SH "FUTURE DIRECTIONS"
.LP
We plan on having a single screen diff window option where the changes
are all shown color coded in one window.  
.SH "SEE ALSO"
.SA changes
.SA config-gui
.SA cset
.SA difftool
.SA range
.SA revtool
.SH CATEGORY
.B GUI-tools
.br
.B Repository
